package vip.xiaonuo.supplier.modular.warehouse.stocks.param;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 库存明细添加参数
 *
 * @author Mr.wu
 * @date  2025/03/18 14:28
 **/
@Getter
@Setter
public class SupplierStocksAddParam {

    /** 门店ID */
    @Schema(description = "门店ID", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "stockStoreId不能为空")
    private String stockStoreId;

    /** 仓库ID */
    @Schema(description = "仓库ID", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "stockStorageId不能为空")
    private String stockStorageId;

    /** 商品ID */
    @Schema(description = "商品ID", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "stockProductionId不能为空")
    private String stockProductionId;

    /** 采购单价 */
    @Schema(description = "采购单价")
    private BigDecimal stockPriceProcure;

    /** 最近一次采购单价 */
    @Schema(description = "最近一次采购单价")
    private BigDecimal stockPriceProcureLast;

    /** 商品库存 */
    @Schema(description = "商品库存", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "stockStock不能为空")
    private BigDecimal stockStock;

    /** 库位 */
    @Schema(description = "库位")
    private String stockStoreLocation;

    /** 批次 */
    @Schema(description = "批次")
    private String stockBatch;

    /** 生产日期 */
    @Schema(description = "生产日期")
    private Date stockDateManufacture;

    /** 供应商 */
    @Schema(description = "供应商", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "stockSupplier不能为空")
    private String stockSupplier;

    /** 数据归属 */
    @Schema(description = "数据归属")
    private String companyId;

}
